Automation plan generation and ticket classification for automated ticket resolution

ABSTRACT

A device may obtain ticket data relating to a set of tickets, and process the ticket data to generate a ticket analysis model that is a clustering based natural language analysis model of natural language text associated with tickets of the set of tickets. The device may classify the set of tickets using the ticket analysis model, may determine an automation plan for at least one class of ticket determined based on classifying the set of tickets, and may implement the automation plan to configure an automatic ticket resolution or ticket generation mitigation procedure for the at least one class of ticket. The device may receive a ticket after configuring the automatic ticket resolution or ticket generation mitigation procedure, may classify, using the ticket analysis model, the ticket into the at least one class of ticket, and may automatically implement a response action for the ticket based on classifying the ticket and using the automatic ticket resolution or ticket generation mitigation procedure.

RELATED APPLICATION

This application claims priority under 35 U.S.C. § 119 to Indian PatentApplication No. 201841031278, filed on Aug. 21, 2018, the content ofwhich is incorporated by reference herein in its entirety.

BACKGROUND

Using a ticket management system to classify and resolve issues may bedifficult in situations where different parties interact in a multitudeof different situations, creating a massive number of issues to resolve.Manual classification and/or resolution of issues may be impossible whentens of thousands, hundreds of thousands, or even millions of issuesneed to be resolved.

SUMMARY

According to some possible implementations, a device may include one ormore memories, and one or more processors, communicatively coupled tothe one or more memories, to obtain ticket data relating to a set oftickets, and to process the ticket data to generate a ticket analysismodel, wherein the ticket analysis model is a clustering based naturallanguage analysis model of ticket descriptions for tickets of the set oftickets. The one or more processors may classify, using the ticketanalysis model, the set of tickets, may determine, for at least oneclass of ticket determined based on classifying the set of tickets, anautomation plan for the at least one class of ticket, and may implementthe automation plan to configure an automatic ticket resolution orticket generation mitigation procedure for the at least one class ofticket. The one or more processors may receive a ticket afterconfiguring the automatic ticket resolution or ticket generationmitigation procedure, may classify, using the ticket analysis model, theticket into the at least one class of ticket, and may automaticallyimplement a response action for the ticket based on classifying theticket into the at least one class of ticket and using the automaticticket resolution or ticket generation mitigation procedure.

According to some possible implementations, a method may includereceiving, by a device, a request to generate an automation plan forresolving incoming tickets, and obtaining, by the device, ticket databased on receiving the request. The method may include processing, bythe device, natural language descriptions of tickets in the ticket datato generate a ticket analysis model for classifying tickets into atleast one of a plurality of classes of tickets, wherein the plurality ofclasses of tickets are a set of clusters identified by the ticketanalysis model. The method may include determining, by the device andfor a class of tickets of the plurality of classes of tickets, theautomation plan for resolving a portion of the incoming ticketsclassified into the class. The method may include receiving, by thedevice, a ticket after determining the automation plan, and classifying,by the device and using the ticket analysis model, the ticket into theclass of tickets of the plurality of classes of tickets. The method mayinclude automatically resolving, by the device, the ticket based on theautomation plan based on classifying the ticket into the class oftickets of the plurality of classes of tickets.

According to some possible implementations, a non-transitorycomputer-readable medium may store instructions that include one or moreinstructions that, when executed by one or more processors of a device,cause the one or more processors to obtain ticket data relating to a setof tickets, and to process the ticket data to identify a set of ticketclusters. The one or more instructions may cause the one or moreprocessors to determine, for at least one cluster, an automation plan,and to implement the automation plan to configure an automatic ticketresolution or ticket generation mitigation procedure for the at leastone cluster, wherein implementing the automation plan comprisesconfiguring monitoring for tickets of a type corresponding to the atleast one cluster, allocating resources for resolving detected ticketsof the type corresponding to the at least one cluster, and providing auser interface including a visualization of data relating to theresolving of detected tickets of the type corresponding to the at leastone cluster.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1D are diagrams of an example implementation described herein.

FIG. 2 is a diagram of an example environment in which systems and/ormethods, described herein, may be implemented.

FIG. 3 is a diagram of example components of one or more devices of FIG.2.

FIG. 4 is a flow chart of an example process for automation plangeneration and ticket classification for automated ticket resolution.

FIG. 5 is a flow chart of an example process for automation plangeneration and ticket classification for automated ticket resolution.

FIG. 6 is a flow chart of an example process for automation plangeneration and ticket classification for automated ticket resolution.

DETAILED DESCRIPTION

The following detailed description of example implementations refers tothe accompanying drawings. The same reference numbers in differentdrawings may identify the same or similar elements.

A ticket management system may resolve issues indicated by ticket data.In some cases, resolving the issue with human intervention may be timeand resource intensive, while also being prone to human error. This mayresult in a poor user experience, and may lead to excessive use ofcomputing resources (e.g., from a person researching a ticket, providinga failed resolution, re-researching the ticket, providing anotherresolution, etc.). In other cases, resolving a ticket issue (with orwithout human intervention) may be difficult due to the ticketmanagement system receiving a large volume of ticket data relating to amultitude of different issues. This may result in high computerprocessing and/or storage costs. For example, applying a ticketmanagement system in a field that uses big data may require resolvingissues for tens of thousands, hundreds of thousands, or even millions oftickets.

Implementations described herein may provide for a cloud platform toautomatically classify ticket data, identify an automation plan forautomatically resolving groups of tickets assigned to a common class,and to implement the automation plan to automatically resolve the groupsof tickets. In this way, the cloud platform reduces utilization ofcomputing resources based on faster resolution of a ticket issue (e.g.,less resources may be needed to resolve the ticket issue), reducesutilization of computing resources and/or network resources based ondecreasing a period of time where a network device is using additionalresources to complete a task (e.g. a network device may use lessresources to complete a task when operating properly), or the like. Byreducing the utilization of computing resources, the cloud platformimproves overall system performance due to efficient and effectiveallocation of resources. Furthermore, faster resolution of a ticketissue improves user experience and minimizes time that a user may losedue to the ticket issue (e.g., a user may be unable to work ifexperiencing a technical error).

Furthermore, implementations described herein use a rigorous,computerized process to classify tickets, generate automation plans, andresolve classified tickets that were not previously performed or werepreviously performed using subjective human intuition or input. Forexample, currently there does not exist a technique to accuratelygenerate an automation plan for automating resolution of thousands,millions, or tens of millions of tickets. Finally, automating theprocess for classifying tickets and generating an automation planconserves computing resources (e.g., processor resources, memoryresources, and/or the like) that would otherwise be wasted in attemptingto manually and inefficiently complete ticket resolution tasks that maybe automatable, by ensuring that automatable ticket resolutionprocedures are implemented when available for a particular class ofticket.

FIGS. 1A-1D are diagrams of an example implementation 100 describedherein. As shown in FIG. 1A, example implementation 100 may include aclient device 105, an automation platform 110, and a set of serverdevices 115.

As further shown in FIG. 1A, and by reference number 120, automationplatform 110 may obtain ticket data. For example, automation platform110 may obtain ticket data from one or more server devices 115 storinghistorical ticket data relating to a set of tickets previously receivedfor resolution. Additionally, or alternatively, automation platform 110may obtain ticket data in real-time or near real-time, such as based ona ticket being received via a ticket resolution portal provided byautomation platform 110 and associated with obtaining tickets relatingto errors with a system. In some implementations, automation platform110 may obtain ticket data relating to a particular project. Forexample, automation platform 110 may identify a particular softwaredevelopment project (e.g., a software project in a development phase, asoftware project in a testing phase, a software project in an ongoingmanagement phase, and/or the like).

In some implementations, automation platform 110 may obtain a particulartype of ticket data. For example, automation platform 110 may receiveticket data associated with a particular format. In this case,automation platform 110 may receive ticket data including naturallanguage descriptions of tickets, errors associated therewith,resolutions to the errors, and/or the like. Additionally, oralternatively, automation platform 110 may obtain numeric ticket data,program code associated with resolutions to tickets, and/or the like. Insome implementations, automation platform 110 may obtain ticket dataidentifying one or more attributes of a set of tickets, such as auser-defined classification of a ticket, a source of the ticket, aresolution applied to the ticket, and/or the like. Additionally, oralternatively, automation platform 110 may obtain ticket dataidentifying an inflow of tickets. Additionally, or alternatively,automation platform 110 may obtain ticket data identifying an assetcatalogue. For example, automation platform 110 may receive informationidentifying a set of ticket resolution descriptions of a set of assetsof the asset catalogue for automatically resolving a ticket or foravoiding generation of a ticket (e.g., automated ticket generationmitigation) by avoiding an occurrence of a problem.

An asset may be used to automatically resolve a ticket. For example, anasset may include a software program or an application that isconfigured to automatically resolve one or more known issues in anothersoftware program, a software program configured to generate code, altercode, copy code, and/or the like based on one or more code repositoriesto alter, add, remove, and/or the like functionality associated with asoftware program to resolve an error. In this case, based on identifyingan application that may be used to resolve a class of tickets,automation platform 110 may, upon classifying a ticket into the class oftickets, provide information associated with the ticket to theapplication to enable the application to automatically resolve theticket. Additionally, or alternatively, the asset may include a workflowfor resolving an issue, such as a set of procedures that automationplatform 110 and/or one or more resources allocated therewith maycomplete to resolve a ticket. As an example, a procedure may includechanging a resource allocation to a software program in a particularmanner to resolve an issue relating to resource allocation, erasing andrewriting data relating to a software program, and/or the like.

Additionally, or alternatively, the asset may be a semi-automatic asset,such as an asset that operates a chatbot for obtaining additionalinformation about a ticket and automatically providing an alert to apreselected entity, such as providing the additional information to adeveloper to enable the developer to resolve an error more effectivelythan with information already provided in a ticket submission.Additionally, or alternatively, the asset may be a scheduling asset forscheduling ticket resolution, hiring employees for ticket resolution,and/or the like. In some implementations, automation platform 110 mayevaluate the assets to determine one or more or assets that may be usedto resolve tickets. For example, automation platform 110 may use naturallanguage processing to process application descriptions and/or usercomments regarding applications in an application store, workflows in aworkflow repository, and/or the like to identify applications to use forresolving tickets, workflows to automatically follow to resolve tickets,and/or the like.

In some implementations, automation platform 110 may obtain a subset ofavailable ticket data. For example, automation platform 110 may obtainticket data relating to a particular organization or a set oforganizations. In this case, automation platform 110 may identify a setof similar organizations to a particular organization for which ticketclassification is to be performed, such as based on a common industry, acommon set of roles, a common location, and/or the like, and may obtainticket data relating to tickets of the set of similar organizations. Inthis way, automation platform 110 may enable generation of a model withreduced ticket data relative to using ticket data relating tonon-similar organizations, which may result in a model trained toperform classifications of types of tickets that are unlikely to begenerated for software associated with the particular organization.Based on reducing the amount of ticket data, automation platform 110 mayreduce a utilization of processing resources to process the ticket data,memory resources to store the ticket data, network resources to obtainthe ticket data, and/or the like.

As further shown in FIG. 1A, and by reference numbers 125 and 130,automation platform 110 may train a ticket analysis model, and may usethe ticket analysis model to classify tickets and generate an automationplan for automatically classifying groups of tickets. For example,automation platform 110 may process the ticket data to generate theticket analysis model, which may be a clustering based natural languageanalysis model of classifying tickets based on natural language text,such as ticket descriptions. In some implementations, automationplatform 110 may perform a set of data manipulation procedures toprocess the ticket data to generate the ticket analysis model, such as adata preprocessing procedure, a model training procedure, a modelverification procedure, and/or the like.

In some implementations, automation platform 110 may perform a datapreprocessing procedure when generating the ticket analysis model. Forexample, automation platform 110 may preprocess the ticket data toremove non-ASCII characters, white spaces, confidential data, and/or thelike. In this way, automation platform 110 may organize thousands,millions, or billions of data entries for machine learning and modelgeneration—a data set that cannot be processed objectively by a humanactor. Additionally, or alternatively, automation platform 110 mayremove numbers from the ticket data, other special characters from theticket data, stop words from the ticket data, punctuation from theticket data, whitespaces from the ticket data, and/or the like. In someimplementations, automation platform 110 may perform a stemmingoperation on words of the ticket data to identify roots of the words ofthe ticket data and based on a stemming data structure identifying rootsfor words.

In some implementations, automation platform 110 may perform a trainingoperation when generating the ticket analysis model. For example,automation platform 110 may portion the data into a training set, avalidation set, a test set, and/or the like. In some implementations,automation platform 110 may train the ticket analysis model using, forexample, an unsupervised training procedure and based on the trainingset of the data. In some implementations, automation platform 110 mayperform dimensionality reduction to reduce the data to a minimum featureset, thereby reducing processing to train the model of activityautomatability, and may apply a classification technique, to the minimumfeature set.

In some implementations, automation platform 110 may use a logisticregression classification technique to determine a categorical outcome(e.g., that a ticket is to be assigned to a particular class of a set ofclasses). Additionally, or alternatively, automation platform 110 mayuse a naïve Bayesian classifier technique. In this case, automationplatform 110 may perform binary recursive partitioning to split the dataof the minimum feature set into partitions and/or branches, and use thepartitions and/or branches to perform predictions (e.g., a ticket is amember of a particular class, that a particular class is resolvableusing a particular ticket resolution asset, and/or the like). Based onusing recursive partitioning, automation platform 110 may reduceutilization of computing resources relative to manual, linear sortingand analysis of data points, thereby enabling use of thousands,millions, or billions of data points to train a model, which may resultin a more accurate model than using fewer data points.

Additionally, or alternatively, automation platform 110 may use asupport vector machine (SVM) classifier technique to generate anon-linear boundary between data points in the training set. In thiscase, the non-linear boundary is used to classify test data (e.g., datarelating to a ticket) into a particular class (e.g., a class indicatingthat the ticket is a first type of ticket, a second type of ticket,and/or the like; or that a class is automatable or not automatable usingone or more ticket resolution assets).

Additionally, or alternatively, automation platform 110 may train theticket analysis model using a supervised training procedure thatincludes receiving input to the model from a subject matter expert,which may reduce an amount of time, an amount of processing resources,and/or the like to train the ticket analysis model relative to anunsupervised training procedure. In some implementations, automationplatform 110 may use one or more other model training techniques, suchas a neural network technique, a latent semantic indexing technique,and/or the like. For example, automation platform 110 may perform anartificial neural network processing technique (e.g., using a two-layerfeedforward neural network architecture, a three-layer feedforwardneural network architecture, and/or the like) to perform patternrecognition with regard to patterns of whether tickets includingdifferent semantic descriptions are members of a particular class,whether the particular class is automatically resolvable using a ticketresolution asset that is configured to resolve another class of tickets,and/or the like. In this case, using the artificial neural networkprocessing technique may improve an accuracy of a model generated byautomation platform 110 by being more robust to noisy, imprecise, orincomplete data, and by enabling automation platform 110 to detectpatterns and/or trends undetectable to human analysts or systems usingless complex techniques.

As an example, automation platform 110 may preprocess the ticket data tovalidate the ticket data. For example, automation platform 110 mayremove or alter incomplete ticket data (e.g., ticket data missing one ormore fields), potentially inaccurate ticket data (e.g., ticket data withone or more field values differing by a threshold amount from an averagefield value), one or more entries in the one or more fields (e.g.,numbers, special characters, stop words, punctuation, whitespace, stems,etc.), and/or the like. Further, automation platform 110 may performentity extraction using natural language processing of the ticket data.In this case, automation platform 110 may format ticket data as adocument term matrix with n-gram keywords. Further, automation platform110 may perform unsupervised clustering on textual data of the ticketdata to identify a subset of n-gram keywords associated with a set oftickets, and cluster the set of tickets into a set of classes (i.e.,clusters) based on the subset of n-gram keywords that are clusterableusing a clustering algorithm. In this way, automation platform 110 maygenerate classes of n-gram keywords to which tickets can be assigned andclassified. Further, automation platform 110 may perform supervisedclustering by using one or more previously identified classes that havebeen verified by a subject matter expert in the set of classes forclustering the set of tickets. In this case, automation platform 110 mayreceive input reviewing and confirming or removing one or more classesfor ticket classification, which may reduce processing utilizationrelative to unsupervised clustering without user input. In someimplementations, automation platform 110 may identify sub-classes usinga sub-group generation technique and by performing topic modeling on thesubset of n-gram keywords, thereby increasing a granularity of ticketclassification.

Further, automation platform 110 may assign one or more attributes toone or more classes of tickets, such as an attribute identifying atechnology, a module of a software development project, a functionalityof a software development project, and/or the like to which tickets of aparticular class pertain. Further, automation platform 110 may determinean attribute relating to resolution of tickets in a particular class.For example, automation platform 110 may determine a similarity betweenclasses of tickets and other classes of tickets, tickets that have beenresolved using one or more assets, and/or the like (e.g., a similaritybased on the n-gram keywords, the technology, the module, thefunctionality, etc.), thereby enabling identification of an asset thatmay be used to automatically resolve a ticket in the class of tickets.Further, automation platform 110 may determine a predicted ticket inflow(e.g., a rate) or ticket volume (e.g., a total amount for a particulartime period) for each class of tickets based on the ticket data, therebyenabling right-sized allocation of resources to an asset selected forautomatically resolving a ticket in the class of tickets (e.g., or asubsequent ticket that is received and assigned to the class oftickets).

In some implementations, automation platform 110 may generate theautomation plan based on results of classifying tickets. For example,automation platform 110 may determine one or more assets for ticketresolution, a resource allocation for operating the one or more assets,a cost associated with implementing the one or more assets, and/or thelike. In some implementations, automation platform 110 may generate auser interface view associated with the automation plan. For example,automation platform 110 may dynamically generate one or morevisualizations to provide descriptive analytics regarding the automationplan and the ticket classification associated therewith, such as a timeseries graph (e.g., predicting a ticket inflow), a bar graph, a columngraph, a stacked bar graph, a stacked column graph. Additionally, oralternatively, automation platform 110 may generate area charts, barcharts, column charts, heat maps, pie charts, tree maps, combinationsthereof, and/or the like. In some implementations, automation platform110 may intelligently generate the user interface view based on a userinput. For example, automation platform 110 may generate one or morevisualization layers for a particular class of tickets, may storeinformation identifying a user selection of a visualization layer, andmay subsequently generate a similar visualization layer for anotherclass of tickets, thereby reducing computing utilization relative to theuser manually accessing relevant information for each class of tickets.In some implementations, automation platform 110 may dynamicallygenerate a description of the one or more visualizations using a naturallanguage process text generator, thereby enabling a user to determine ameaning of a visualization in a reduced amount of time relative to anon-described visualization, thereby reducing processing utilization.

In some implementations, automation platform 110 may determine theautomation plan for a particular class of tickets. For example,automation platform 110 may determine an automation score for each classof tickets related to a predicted automatability for resolving a classof tickets of the set of classes of tickets using an asset available toautomation platform 110. In this case, automation platform 110 mayselect a class of tickets for automation based on a highest automationscore or a threshold automation score. Additionally, or alternatively,automation platform 110 may determine the automation plan based on apredicted inflow of tickets for a particular class of tickets. Forexample, based on a predicted inflow satisfying a threshold, automationplatform 110 may determine to generate an automation plan to implementan asset to automatically resolve tickets that are received and areassigned to the particular class. In some implementations, automationplatform 110 may rank or order one or more classes of tickets forautomation plan generation. For example, automation platform 110 mayapply a set of weights to a set of attributes of a set of classes oftickets (e.g., weights to criticality scores, automation scores,predicted inflow volume, and/or the like), to sort the set of classes interms of priority for generating an automation plan.

Additionally, or alternatively, automation platform 110 may monitor useof a user interface to identify user preferences with regard to the userinterface (e.g., which graphs the user is interacting with), and maydynamically update subsequent user interface views based on the userpreferences. In some implementations, automation platform 110 may useartificial intelligence techniques to generate the user interface views,such as based on generating a visualization model based on visualizationdata relating to previous user usage of user interfaces includingvisualizations, other user's usages of user interfaces includingvisualizations, and/or the like. For example, automation platform 110may use artificial intelligence techniques to identify relevant featuresof the ticket data (e.g., anomalous features, significant features,patterns, trends, etc.), may predict one or more user interface viewsthat a user is associated with a threshold likelihood of viewing for athreshold amount of time (e.g., based on previous use of user interfacesand indicating that the predicted user interface is relevant to theuser), and may generate one or more graphs for a predicted userinterface view to identify the relevant features, thereby reducingcomputing utilization relative to a user manually reviewing all graphsto identify the relevant features.

In some implementations, automation platform 110 may generate arecommendation. For example, automation platform 110 may score one ormore automation plans based on a resource utilization, a likelihood ofsuccess (e.g., a predicted likelihood that a ticket resolution asset isapplicable to resolving a class of tickets), a cost of manual resolutionof a class of tickets, and/or the like. In this case, automationplatform 110 may determine that a subset of automation plans satisfy athreshold score, and may recommend implementation of the subset ofautomation plans. In some implementations, automation platform 110 maygenerate the recommendation based on using artificial intelligencetechniques. For example, automation platform 110 may use dataidentifying success of previous automation plans, an accuracy of aclassification of tickets, natural language user feedback on assets forautomatically resolving tickets, and/or the like to generate a machinelearning model of automation plans, as described above with regard toticket classification, and may use the machine learning model ofautomation plans to evaluate one or more automation plans, and select asubset of automation plans to recommend.

Additionally, or alternatively, automation platform 110 may use theticket analysis model to rank the set of recommended resolutions basedon an amount of resources required to resolve the issue. For example,automation platform 110 may determine a set of values indicating anestimated amount of resources needed to resolve the issue. In this case,a value, in the set of values, may correspond to a recommendedresolution, in the set of recommended resolutions. Automation platform110 may rank the set of recommended resolutions based on determining thecorresponding set of values indicating the estimated amount of resourcesneeded to resolve the issue. In some cases, automation platform 110 mayselect a particular resolution for a class of tickets that correspondsto a value associated with a lowest estimated amount of resources neededto resolve the issue. By ranking resolutions based on an amount ofresources (or an estimated amount of resources) needed to resolve theissue, automation platform 110 is able to conserve processing resourcesand/or network resources by selecting the most resource-efficientresolution.

In some implementations, automation platform 110 may use the ticketanalysis model to select a particular resolution, from a set ofrecommended resolutions, for inclusion in an automation plan. Forexample, automation platform 110 may analyze the ticket data todetermine the set of recommended resolutions for an issue associatedwith a particular class of tickets, and may rank the set of recommendedresolutions. In this case, automation platform 110 may select theparticular resolution, from the set of recommended resolutions, based onranking the set of recommended resolutions.

In some implementations, automation platform 110 may use the ticketanalysis model to select a particular resolution for inclusion in theautomation plan that satisfies a threshold (or that satisfies multiplethresholds). The threshold(s) may indicate an effectiveness level ofresolving an issue, an amount of resources to resolve an issue, anamount of time to resolve an issue, a percentage chance of resolving theissue, and/or the like. In some cases, such as when multiple resolutionsin the set of recommended resolutions satisfy the threshold, automationplatform 110 may select the particular resolution for the automationplan that satisfies the threshold by the largest margin. For example, ifmultiple resolutions indicate an 80%+ effectiveness level of resolvingan issue, automation platform 110 may select the particular resolutionwith the highest predicted effectiveness level of resolving the issue.

In some implementations, automation platform 110 may train the ticketanalysis model, classify tickets, and generate the automation plan basedon a request. For example, automation platform 110 may receive a requestfrom client device 105 for an automation plan, and may generate theautomation plan as a response to the request. In some implementations,automation platform 110 may train the ticket analysis model, classifytickets, and generate the automation plan based on receiving tickets.For example, periodically, based on receiving a set of tickets,automation platform 110 may train the (or update a trained) ticketanalysis model, and may use the ticket analysis model to classify theset of tickets. In this case, based on classifying the set of ticketsinto one or more classes, automation platform 110 may evaluate the oneor more classes for automatic resolution using one or more assets forautomatically resolving a ticket. Additionally, or alternatively, basedon detecting availability of a new asset for automatically resolving aticket, automation platform 110 may evaluate the one or more classes forautomatic resolution using the new asset. Additionally, oralternatively, based on identifying a new class of tickets, automationplatform 110 may determine a similarity to another class that is beingautomatically resolved, and may predict an effort (e.g., computingresources, cost, man-hours, etc.) associated with adapting an assetbeing used to automatically resolve the other class for use inautomatically resolving the new class (e.g., to reprogram the asset, toallocate additional resources to the asset, to transfer data to a memorythat is accessible by the asset, etc.).

As further shown in FIG. 1A, and by reference number 135, automationplatform 110 may receive a request for automation plan information fromclient device 105. For example, a user may desire to receive arecommendation relating to implementing an automation plan, andautomation platform 110 may identify stored information identifying oneor more generated automation plans or may generate one or moreautomation plans as a response to the request. As shown by referencenumber 140, automation platform 110 may provide an automation plan userinterface as a response to the request and to identify the one or moregenerated automation plans and/or information associated therewith, asdescribed in more detail herein.

As shown in FIG. 1B, based on receiving the automation plan userinterface from automation platform 110, client device 105 may providethe automation plan user interface for display. In this case, theautomation plan user interface may include information identifyingclasses of tickets (e.g., data related tickets, network related tickets,etc.), sub-classes of tickets (e.g., SAP tickets, Oracle tickets, Javatickets, .Net tickets, etc.), and/or the like. For each sub-class oftickets, the automation plan user interface may include, based on adetermination by automation platform 110, information identifying arecommendation relating to automation of resolution of the sub-class oftickets (e.g., to automate or to not automate), an identification of anartificial intelligence asset for automatically resolving the sub-classof tickets (e.g., Ticket Resolve, Java Debugger, Chat Bot), and/or thelike. Further, the automation plan user interface may include, based ona determination by automation platform 110, information identifying apredicted benefit of implementing an asset for automated ticketresolution, such as information indicating a benefit from processautomation, reduced central processing unit (CPU) utilization, a benefitfrom cost optimization, and/or the like.

In some implementations, automation platform 110 may automaticallyimplement one or more of the automation plan recommendations relating toautomating ticket resolution. For example, automation platform 110 maydetermine to automatically allocate resources to an application forautomatically resolving tickets, a java debugging application, a chatbot application to interface with ticket submitters, and/or the like. Insome implementations, automation platform 110 may determine toautomatically implement a recommendation based on a score. For example,automation platform 110 may determine that an asset satisfies athreshold likelihood of success, a threshold reduction in processingresource utilization, a threshold cost reduction, and/or the like, andmay automatically determine to implement the asset. Additionally, oralternatively, automation platform 110 may receive user input 145 viathe automation plan user interface associated with selecting a portionof the automation plan and implementing the portion of the automationplan (e.g., to allocate resources for the Java Debugger asset and toautomatically route tickets classified as pertaining to the Data classand the Java sub-class for resolution by the Java Debugger asset).

As shown in FIG. 1C, based on receiving the automation plan userinterface from automation platform 110, client device 105 may provide aset of visualizations via the automation plan user interface. Forexample, the automation plan user interface may include one or morevisualizations regarding the selected sub-class of tickets that is to beresolved using an asset for automatically resolving tickets. In thiscase, automation platform 110 may determine, and may providevisualizations relating to, a set of sub-classifications of thesub-class of tickets, such as a prioritization sub-classification (e.g.,a sub-classification of each ticket as of critical importance, highimportance, etc.), a source sub-classification of the sub-class oftickets (e.g., whether a ticket relates to fax communication, phonecommunication, etc.), a type sub-classification (e.g., whether ticketsrelating to phone communication relate to a compile error, a data inputerror, a code error, etc.), and/or the like. In some implementations,the prioritization may be a criticality score related to at least one ofa predicted ticket inflow rate, a predicted ticket subject impact, or aticket type for a class of ticket of the set of classes of tickets.Further, automation platform 110 may determine, and may providevisualizations relating to, ticket inflow, ticket priority, and/or thelike.

As shown in FIG. 1D, and by reference number 150, based on determiningto implement a portion of the automation plan (e.g., based on a scoresatisfying a threshold, based on user interaction with a user interface,etc.), automation platform 110 may implement the automation plan. Forexample, as shown by reference number 155, automation platform 110 mayallocate computing resources as asset execution resources 160, which maybe one or more computing resources of automation platform 110 allocatedfor execution of an asset. As shown by reference number 165, assetexecution resources 160 of automation platform 110 may implementautomations for one or more tasks. For example, as shown by referencenumber 170, asset execution resources 160 of automation platform 110 mayreceive one or more tickets from ticket source 175. In this case,automation platform 110 may use the ticket analysis model to classifythe one or more tickets. Based on classifying a ticket into aclassification for which an asset is assigned and implemented usingasset execution resources 160 to automatically resolve tickets,automation platform 110 may use asset execution resources 160 toautomatically resolve the ticket and, as shown by reference number 180,provide results of automatic resolution.

In some implementations, automation platform 110 may use asset executionresources 160 to automatically generate additional program code, alteror remove existing program code, allocate and/or reallocate computingresources, automatically assign a developer to resolve the issue, etc.In some implementations, automation platform 110 may use asset executionresources 160 to access one or more APIs to gain permission to implementthe particular resolution to a project to resolve one or more tickets.By automatically resolving the one or more tickets, automation platform110 achieves faster issue resolution, thereby conserving networkresources by decreasing a period of time where a network device is usingadditional resources to complete a task (e.g., a network device may useadditional resources to complete a task when malfunctioning).

In some implementations, automation platform 110 may use asset executionresources 160 to automatically communicate with another device toimplement a particular resolution to one or more tickets. For example,automation platform 110 may use asset execution resources 160 tocommunicate with another device to automatically assign a developer toresolve an issue associated with a ticket. In this case, the otherdevice may store information such as a schedule of a developer, andautomation platform 110 may access the schedule to add a task orschedule a meeting relating to resolving the issue. For example,automation platform 110 may determine a set of shifts for a set ofdevelopers, identify a developer that is active for an upcoming shiftand has availability and/or skills to resolve a ticket (e.g., skillsrelating to a classification of the ticket), and may communicate withthe other device to automatically assign a ticket associated with theissue to the developer. Similarly, based on the developer havingpreviously resolved a similar issue or a similar ticket (e.g., the sameticket that has been submitted multiple times for a recurring issue),automation platform 110 may reassign the issue to the developer.

In some implementations, automation platform 110 may automaticallycommunicate with another device to allow the other device to implementthe particular resolution to the project. For example, automationplatform 110 may automatically transmit information that indicates theparticular resolution to another device (e.g., a server associated withclient device 105, etc.), and the other device may implement theparticular resolution by applying the particular resolution to codeassociated with the issue.

In some implementations, automation platform 110 may implement aparticular resolution that includes modifying code and/or computingresources. For example, automation platform 110 may generate code, altercode, remove code, allocate computing resources, and/or reallocatecomputing resources to resolve the issue. In some cases, automationplatform 110 may communicate with a data server associated with asoftware project to generate code, alter code, remove code, allocatecomputing resources, and/or reallocate computing resources.Additionally, or alternatively, automation platform 110 mayautomatically configure or reconfigure one or more devices, may start upone or more devices, power down one or more devices, and/or the like toresolve the issue. Additionally, or alternatively, automation platform110 may move a robot or a drone to a particular area to gatherinformation regarding the issue and/or the resolve the issue.Additionally, or alternatively, automation platform 100 mayautomatically order a replacement part for a delivery to a particularlocation to resolve a failure, and may cause a robot to autonomouslyinstall the replacement part.

In some implementations, automation platform 110 may automaticallydetermine an effectiveness level of implementing the resolution. Forexample, automation platform 110 may automatically determine aneffectiveness level of implementing the resolution by testing theresolution in a sandbox environment or by monitoring a project for whicha ticket is generated after completion of the particular resolution tothe ticket. As an example, automation platform 110 may implement a testscript to mirror functionality of the project in a sandbox to determinewhether the particular resolution resolved the issue. Additionally, oralternatively, automation platform 110 may determine an effectivenesslevel of implementing the resolution by receiving feedback. For example,automation platform 110 may receive feedback, and the feedback mayindicate an effectiveness level of the resolution. In some cases,automation platform 110 may use the effectiveness information toreevaluate the asset for automatically resolving tickets of a class oftickets with regard to whether to continue to use the asset.

In this way, automation platform 110 reduces utilization of computingresources based on automatically classifying ticket data to reduceprocessing, reduces utilization of computing resources based on fasterresolution of a ticket issue, reduces utilization of computing resourcesand/or network resources based on decreasing a period of time where adevice is using additional resources to complete a task associated withan issue, or the like. Furthermore, faster resolution of a ticket issueimproves user experience and minimizes time that a user may lose due tothe ticket issue. Furthermore, using the ticket analysis model toautomatically select assets for resolution of classes of tickets enablesimproved automation of ticket resolution as a quantity of assetsincreases and/or a quantity of tickets increases beyond what can bemanually classified and assigned for resolution.

As indicated above, FIGS. 1A-1D are provided merely as an example. Otherexamples are possible and may differ from what was described with regardto FIGS. 1A-1D.

FIG. 2 is a diagram of an example environment 200 in which systemsand/or methods, described herein, may be implemented. As shown in FIG.2, environment 200 may include a user device 210, an automation platform220, and a computing resource 225. Devices of environment 200 mayinterconnect via wired connections, wireless connections, or acombination of wired and wireless connections.

User device 210 includes one or more devices capable of receiving,generating, storing, processing, and/or providing information associatedwith providing a user interface associated with an automation plan. Forexample, user device 210 may include a communication and/or computingdevice, such as a mobile phone (e.g., a smart phone, a radiotelephone,etc.), a laptop computer, a tablet computer, a handheld computer, agaming device, a wearable communication device (e.g., a smartwristwatch, a pair of smart eyeglasses, etc.), or a similar type ofdevice.

Automation platform 220 includes one or more computing resourcesassigned to classify tickets, generate an automation plan forautomatically resolving a class of tickets, implement the automationplan, and/or the like. For example, automation platform 220 may be aplatform implemented by cloud computing environment 230 that maydetermine a classification for a ticket, and may assign the ticket forautomatic resolution using an asset for automatic ticket resolution orticket generation mitigation. In some implementations, automationplatform 220 is implemented by computing resources 225 of cloudcomputing environment 230. In some implementations, automation platform220 may allocate resources (e.g., computing resources 225) for executingan asset to automatically resolve a ticket.

Cloud computing environment 230 includes an environment that deliverscomputing as a service, whereby shared resources, services, etc. may beprovided to classify tickets, generate automation plans, andautomatically resolve tickets. Cloud computing environment 230 mayprovide computation, software, data access, storage, and/or otherservices that do not require end-user knowledge of a physical locationand configuration of a system and/or a device that delivers theservices. As shown, cloud computing environment 230 may includeautomation platform 20 and computing resource 225.

Computing resource 225 includes one or more personal computers,workstation computers, server devices, or another type of computationand/or communication device. In some implementations, computing resource225 may host automation platform 220. The cloud resources may includecompute instances executing in computing resource 225, storage devicesprovided in computing resource 225, data transfer devices provided bycomputing resource 225, etc. In some implementations, computing resource225 may communicate with other computing resources 225 via wiredconnections, wireless connections, or a combination of wired andwireless connections.

As further shown in FIG. 2, computing resource 225 may include a groupof cloud resources, such as one or more applications (“APPs”) 225-1, oneor more virtual machines (“VMs”) 225-2, virtualized storage (“VSs”)225-3, one or more hypervisors (“HYPs”) 225-4, or the like.

Application 225-1 includes one or more software applications that may beprovided to or accessed by user device 210. Application 225-1 mayeliminate a need to install and execute the software applications onuser device 210. For example, application 225-1 may include softwareassociated with automation platform 220 and/or any other softwarecapable of being provided via cloud computing environment 230. In someimplementations, one application 225-1 may send/receive informationto/from one or more other applications 225-1, via virtual machine 225-2.

Virtual machine 225-2 includes a software implementation of a machine(e.g., a computer) that executes programs like a physical machine.Virtual machine 225-2 may be either a system virtual machine or aprocess virtual machine, depending upon use and degree of correspondenceto any real machine by virtual machine 225-2. A system virtual machinemay provide a complete system platform that supports execution of acomplete operating system (“OS”). A process virtual machine may executea single program, and may support a single process. In someimplementations, virtual machine 225-2 may execute on behalf of a user(e.g., user device 210), and may manage infrastructure of cloudcomputing environment 230, such as data management, synchronization, orlong-duration data transfers.

Virtualized storage 225-3 includes one or more storage systems and/orone or more devices that use virtualization techniques within thestorage systems or devices of computing resource 225. In someimplementations, within the context of a storage system, types ofvirtualizations may include block virtualization and filevirtualization. Block virtualization may refer to abstraction (orseparation) of logical storage from physical storage so that the storagesystem may be accessed without regard to physical storage orheterogeneous structure. The separation may permit administrators of thestorage system flexibility in how the administrators manage storage forend users. File virtualization may eliminate dependencies between dataaccessed at a file level and a location where files are physicallystored. This may enable optimization of storage use, serverconsolidation, and/or performance of non-disruptive file migrations.

Hypervisor 225-4 provides hardware virtualization techniques that allowmultiple operating systems (e.g., “guest operating systems”) to executeconcurrently on a host computer, such as computing resource 225.Hypervisor 225-4 may present a virtual operating platform to the guestoperating systems, and may manage the execution of the guest operatingsystems. Multiple instances of a variety of operating systems may sharevirtualized hardware resources.

Network 240 includes one or more wired and/or wireless networks. Forexample, network 240 may include a cellular network (e.g., a long-termevolution (LTE) network, a code division multiple access (CDMA) network,a 3G network, a 4G network, a 5G network, another type of nextgeneration network, etc.), a public land mobile network (PLMN), a localarea network (LAN), a wide area network (WAN), a metropolitan areanetwork (MAN), a telephone network (e.g., the Public Switched TelephoneNetwork (PSTN)), a private network, an ad hoc network, an intranet, theInternet, a fiber optic-based network, a cloud computing network, or thelike, and/or a combination of these or other types of networks.

The number and arrangement of devices and networks shown in FIG. 2 areprovided as an example. In practice, there may be additional devicesand/or networks, fewer devices and/or networks, different devices and/ornetworks, or differently arranged devices and/or networks than thoseshown in FIG. 2. Furthermore, two or more devices shown in FIG. 2 may beimplemented within a single device, or a single device shown in FIG. 2may be implemented as multiple, distributed devices. Additionally, oralternatively, a set of devices (e.g., one or more devices) ofenvironment 200 may perform one or more functions described as beingperformed by another set of devices of environment 200.

FIG. 3 is a diagram of example components of a device 300. Device 300may correspond to user device 210, automation platform 220, and/orcomputing resource 225. In some implementations, user device 210,automation platform 220, and/or computing resource 225 may include oneor more devices 300 and/or one or more components of device 300. Asshown in FIG. 3, device 300 may include a bus 310, a processor 320, amemory 330, a storage component 340, an input component 350, an outputcomponent 360, and a communication interface 370.

Bus 310 includes a component that permits communication among thecomponents of device 300. Processor 320 is implemented in hardware,firmware, or a combination of hardware and software. Processor 320 is acentral processing unit (CPU), a graphics processing unit (GPU), anaccelerated processing unit (APU), a microprocessor, a microcontroller,a digital signal processor (DSP), a field-programmable gate array(FPGA), an application-specific integrated circuit (ASIC), or anothertype of processing component. In some implementations, processor 320includes one or more processors capable of being programmed to perform afunction. Memory 330 includes a random access memory (RAM), a read onlymemory (ROM), and/or another type of dynamic or static storage device(e.g., a flash memory, a magnetic memory, and/or an optical memory) thatstores information and/or instructions for use by processor 320.

Storage component 340 stores information and/or software related to theoperation and use of device 300. For example, storage component 340 mayinclude a hard disk (e.g., a magnetic disk, an optical disk, amagneto-optic disk, and/or a solid state disk), a compact disc (CD), adigital versatile disc (DVD), a floppy disk, a cartridge, a magnetictape, and/or another type of non-transitory computer-readable medium,along with a corresponding drive.

Input component 350 includes a component that permits device 300 toreceive information, such as via user input (e.g., a touch screendisplay, a keyboard, a keypad, a mouse, a button, a switch, and/or amicrophone). Additionally, or alternatively, input component 350 mayinclude a sensor for sensing information (e.g., a global positioningsystem (GPS) component, an accelerometer, a gyroscope, and/or anactuator). Output component 360 includes a component that providesoutput information from device 300 (e.g., a display, a speaker, and/orone or more light-emitting diodes (LEDs)).

Communication interface 370 includes a transceiver-like component (e.g.,a transceiver and/or a separate receiver and transmitter) that enablesdevice 300 to communicate with other devices, such as via a wiredconnection, a wireless connection, or a combination of wired andwireless connections. Communication interface 370 may permit device 300to receive information from another device and/or provide information toanother device. For example, communication interface 370 may include anEthernet interface, an optical interface, a coaxial interface, aninfrared interface, a radio frequency (RF) interface, a universal serialbus (USB) interface, a Wi-Fi interface, a cellular network interface, orthe like.

Device 300 may perform one or more processes described herein. Device300 may perform these processes based on to processor 320 executingsoftware instructions stored by a non-transitory computer-readablemedium, such as memory 330 and/or storage component 340. Acomputer-readable medium is defined herein as a non-transitory memorydevice. A memory device includes memory space within a single physicalstorage device or memory space spread across multiple physical storagedevices.

Software instructions may be read into memory 330 and/or storagecomponent 340 from another computer-readable medium or from anotherdevice via communication interface 370. When executed, softwareinstructions stored in memory 330 and/or storage component 340 may causeprocessor 320 to perform one or more processes described herein.Additionally, or alternatively, hardwired circuitry may be used in placeof or in combination with software instructions to perform one or moreprocesses described herein. Thus, implementations described herein arenot limited to any specific combination of hardware circuitry andsoftware.

The number and arrangement of components shown in FIG. 3 are provided asan example. In practice, device 300 may include additional components,fewer components, different components, or differently arrangedcomponents than those shown in FIG. 3. Additionally, or alternatively, aset of components (e.g., one or more components) of device 300 mayperform one or more functions described as being performed by anotherset of components of device 300.

FIG. 4 is a flow chart of an example process 400 for automation plangeneration and ticket classification for automated ticket resolution. Insome implementations, one or more process blocks of FIG. 4 may beperformed by an automation platform (e.g. automation platform 220). Insome implementations, one or more process blocks of FIG. 4 may beperformed by another device or a group of devices separate from orincluding the automation platform (e.g. automation platform 220), suchas a user device (e.g. user device 210) and a computing resource (e.g.computing resource 225).

As shown in FIG. 4, process 400 may include obtaining ticket datarelating to a set of tickets (block 410). For example, the automationplatform (e.g., using computing resource 225, processor 320, memory 330,storage component 340, input component 350, communication interface 370,and/or the like) may obtain ticket data relating to a set of tickets, asdescribed above in connection with FIGS. 1A-1D.

As further shown in FIG. 4, process 400 may include processing theticket data to generate a ticket analysis model, wherein the ticketanalysis model is a clustering based natural language analysis model ofnatural language text associated with tickets of the set of tickets(block 420). For example, the automation platform (e.g., using computingresource 225, processor 320, memory 330, storage component 340, and/orthe like) may process the ticket data to generate a ticket analysismodel, as described above in connection with FIGS. 1A-1D. In someimplementations, the ticket analysis model may be a clustering basednatural language analysis model of natural language text associated withtickets of the set of tickets.

As further shown in FIG. 4, process 400 may include classifying, usingthe ticket analysis model, the set of tickets (block 430). For example,the automation platform (e.g., using computing resource 225, processor320, memory 330, storage component 340, and/or the like) may classify,using the ticket analysis model, the set of tickets, as described abovein connection with FIGS. 1A-1D.

As further shown in FIG. 4, process 400 may include determining, for atleast one class of ticket determined based on classifying the set oftickets, an automation plan for the at least one class of ticket (block440). For example, the automation platform (e.g., using computingresource 225, processor 320, memory 330, storage component 340, inputcomponent 350, communication interface 370, and/or the like) maydetermine, for at least one class of ticket determined based onclassifying the set of tickets, an automation plan for the at least oneclass of ticket, as described above in connection with FIGS. 1A-1D.

As further shown in FIG. 4, process 400 may include implementing theautomation plan to configure an automatic ticket resolution or ticketgeneration mitigation procedure for the at least one class of ticket(block 450). For example, the automation platform (e.g., using computingresource 225, processor 320, memory 330, storage component 340, and/orthe like) may implement the automation plan to configure an automaticticket resolution or ticket generation mitigation procedure for the atleast one class of ticket, as described above in connection with FIGS.1A-1D.

As further shown in FIG. 4, process 400 may include receiving a ticketafter configuring the automatic ticket resolution or ticket generationmitigation procedure (block 460). For example, the automation platform(e.g., using computing resource 225, processor 320, memory 330, storagecomponent 340, input component 350, communication interface 370, and/orthe like) may receive a ticket after configuring the automatic ticketresolution or ticket generation mitigation procedure, as described abovein connection with FIGS. 1A-1D.

As further shown in FIG. 4, process 400 may include classifying, usingthe ticket analysis model, the ticket into the at least one class ofticket (block 470). For example, the automation platform (e.g., usingcomputing resource 225, processor 320, memory 330, storage component340, and/or the like) may classify, using the ticket analysis model, theticket into the at least one class of ticket, as described above inconnection with FIGS. 1A-1D.

As further shown in FIG. 4, process 400 may include automaticallyimplementing a response action for the ticket based on classifying theticket into the at least one class of ticket and using the automaticticket resolution or ticket generation mitigation procedure (block 480).For example, the automation platform (e.g., using computing resource225, processor 320, memory 330, storage component 340, input component350, output component 360, communication interface 370, and/or the like)may automatically implement a response action for the ticket based onclassifying the ticket into the at least one class of ticket and usingthe automatic ticket resolution or ticket generation mitigationprocedure, as described above in connection with FIGS. 1A-1D.

Process 400 may include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein.

In some implementations, the automation platform may determine a set ofcriticality scores for a set of classes of tickets determined based onclassifying the set of tickets, and may select the at least one class ofticket, from the set of classes of tickets, for determining theautomation plan based on the set of criticality scores for the set ofclasses, where a criticality score, of the set of criticality scores, isrelated to at least one of a predicted ticket inflow rate, a predictedticket subject impact, or a ticket type for a class of ticket of the setof classes of tickets. Additionally, when determining the automationplan, the automation platform may determine the automation plan for theat least one class based on selecting the at least one class of ticket.

In some implementations, the automation platform may determine a set ofautomation scores for a set of classes of tickets determined based onclassifying the set of tickets, where an automation score, of the set ofautomation scores, is related to a predicted automatability forresolving a class of tickets of the set of classes of tickets, and mayselect the at least one class of ticket, from the set of classes oftickets, for determining the automation plan based on the set ofautomation scores for the set of classes. Additionally, when determiningthe automation plan, the automation platform may determine theautomation plan for the at least one class of ticket based on selectingthe at least one class. In some implementations, when processing theticket data to generate the ticket analysis model, the automationplatform may process the ticket data using at least one of unsupervisedclustering of a set of n-gram keywords of the natural language text orsupervised clustering of the set of n-gram keywords of the naturallanguage text.

In some implementations, the automation platform may generate avisualization model based on visualization data identifying a set ofanalytics and a set of user interactions with the set of analytics, maydetermine, based on the visualization model, a predicted user interfaceview for data relating to one or more predictions for the at least oneclass of ticket, where the predicted user interface view is predicted tominimize a quantity of user interactions to view information relating tothe at least one class of ticket, and may provide the predicted userinterface view for display. In some implementations, when determiningthe automation plan, the automation platform may identify an assetcatalogue storing information identifying a set of ticket resolutiondescriptions, and may generate, based on the set of ticket resolutiondescriptions, the automatic ticket resolution or ticket generationmitigation procedure.

In some implementations, when automatically implementing the responseaction, the automation platform may generate program code to resolve theticket based on the automatic ticket resolution or ticket generationmitigation procedure, and may communicate with another device toautomatically deploy the program code to the other device. In someimplementations, when automatically implementing the response action,the automation platform may select an application, from an applicationstore, based on a class of the ticket, where the class is included inthe at least one class of ticket, and where the application isassociated with resolving tickets of the class, and may communicate withanother device to provide the ticket for processing using theapplication.

In some implementations, when determining the automation plan, theautomation platform may process a set of application descriptions for aset of applications, may determine, based on processing the set ofapplication descriptions, a set of application scores, where the set ofapplication scores relate to a likelihood that an application, of theset of applications, is usable for automatically resolving a class ofticket of the at least one class of ticket, and may select, based on theset of application scores, a particular application, of the set ofapplications, for use in resolving the class of ticket.

Although FIG. 4 shows example blocks of process 400, in someimplementations, process 400 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 4. Additionally, or alternatively, two or more of theblocks of process 400 may be performed in parallel.

FIG. 5 is a flow chart of an example process 500 for automation plangeneration and ticket classification for automated ticket resolution. Insome implementations, one or more process blocks of FIG. 5 may beperformed by an automation platform (e.g. automation platform 220). Insome implementations, one or more process blocks of FIG. 5 may beperformed by another device or a group of devices separate from orincluding the automation platform (e.g. automation platform 220), suchas a user device (e.g. user device 210) and a computing resource (e.g.computing resource 225).

As shown in FIG. 5, process 500 may include receiving a request togenerate an automation plan for resolving incoming tickets (block 510).For example, the automation platform (e.g., using computing resource225, processor 320, memory 330, storage component 340, input component350, communication interface 370, and/or the like) may receive a requestto generate an automation plan for resolving incoming tickets, asdescribed above in connection with FIGS. 1A-1D.

As further shown in FIG. 5, process 500 may include obtaining ticketdata based on receiving the request (block 520). For example, theautomation platform (e.g., using computing resource 225, processor 320,memory 330, storage component 340, input component 350, communicationinterface 370, and/or the like) may obtain ticket data based onreceiving the request, as described above in connection with FIGS.1A-1D.

As further shown in FIG. 5, process 500 may include processing naturallanguage descriptions of tickets in the ticket data to generate a ticketanalysis model for classifying tickets into at least one of a pluralityof classes of tickets, wherein the plurality of classes of tickets are aset of clusters identified by the ticket analysis model (block 530). Forexample, the automation platform (e.g., using computing resource 225,processor 320, memory 330, storage component 340, and/or the like) mayprocess natural language descriptions of tickets in the ticket data togenerate a ticket analysis model for classifying tickets into at leastone of a plurality of classes of tickets, as described above inconnection with FIGS. 1A-1D. In some implementations, the plurality ofclasses of tickets may be a set of clusters identified by the ticketanalysis model.

As further shown in FIG. 5, process 500 may include determining, for aclass of tickets of the plurality of classes of tickets, the automationplan for resolving a portion of the incoming tickets classified into theclass (block 540). For example, the automation platform (e.g., usingcomputing resource 225, processor 320, memory 330, storage component340, and/or the like) may determine, for a class of tickets of theplurality of classes of tickets, the automation plan for resolving aportion of the incoming tickets classified into the class, as describedabove in connection with FIGS. 1A-1D.

As further shown in FIG. 5, process 500 may include receiving a ticketafter determining the automation plan (block 550). For example, theautomation platform (e.g., using computing resource 225, processor 320,memory 330, storage component 340, and/or the like) may receive a ticketafter determining the automation plan, as described above in connectionwith FIGS. 1A-1D.

As further shown in FIG. 5, process 500 may include classifying, usingthe ticket analysis model, the ticket into the class of tickets of theplurality of classes of tickets (block 560). For example, the automationplatform (e.g., using computing resource 225, processor 320, memory 330,storage component 340, and/or the like) may classify, using the ticketanalysis model, the ticket into the class of tickets of the plurality ofclasses of tickets, as described above in connection with FIGS. 1A-1D.

As further shown in FIG. 5, process 500 may include automaticallyresolving the ticket based on the automation plan based on classifyingthe ticket into the class of tickets of the plurality of classes oftickets (block 570). For example, the automation platform (e.g., usingcomputing resource 225, processor 320, memory 330, storage component340, and/or the like) may automatically resolve the ticket based on theautomation plan based on classifying the ticket into the class oftickets of the plurality of classes of tickets, as described above inconnection with FIGS. 1A-1D.

Process 500 may include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein.

In some implementations, the automation platform may pre-process theticket data, and pre-processing the ticket data may include at least oneof removing numbers from the ticket data, removing special charactersfrom the ticket data, removing stop words from the ticket data, removingpunctuation from the ticket data, removing whitespaces from the ticketdata, or performing a stemming operation on words of the ticket data. Insome implementations, when processing the natural language descriptionsof tickets, the automation platform may extract entities from thenatural language descriptions of tickets, and may generate the set ofclusters based on extracting the entities from the natural languagedescriptions. In some implementations, the automation platform maydetermine a predicted inflow for the class of tickets, may determinethat the predicted inflow satisfies a threshold, and may determine theautomation plan based on determining that the predicted inflow satisfiesthe threshold.

In some implementations, when automatically resolving the ticket, theautomation platform may transmit an alert to a preselected entity, wherethe alert identifies an issue relating to the class of tickets of theplurality of classes of tickets, and may assign the ticket to thepreselected entity. In some implementations, when automaticallyresolving the ticket, the automation platform may automatically allocatecomputing resources for ticket resolution, where an amount of computingresources is selected based on the class of tickets of the plurality ofclasses of tickets, and may use the computing resources to resolve theticket based on automatically allocating the computing resources. Insome implementations, the automation platform may order the plurality ofclasses of tickets based on one or more characteristics of the pluralityof classes of tickets, and may select the class of tickets of theplurality of classes of tickets for the automation plan based onordering the plurality of classes of tickets.

Although FIG. 5 shows example blocks of process 500, in someimplementations, process 500 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 5. Additionally, or alternatively, two or more of theblocks of process 500 may be performed in parallel.

FIG. 6 is a flow chart of an example process 600 for automation plangeneration and ticket classification for automated ticket resolution. Insome implementations, one or more process blocks of FIG. 6 may beperformed by an automation platform (e.g. automation platform 220). Insome implementations, one or more process blocks of FIG. 6 may beperformed by another device or a group of devices separate from orincluding the automation platform (e.g. automation platform 220), suchas a user device (e.g. user device 210) and a computing resource (e.g.computing resource 225).

As shown in FIG. 6, process 600 may include obtaining ticket datarelating to a set of tickets (block 610). For example, the automationplatform (e.g., using computing resource 225, processor 320, memory 330,storage component 340, input component 350, communication interface 370,and/or the like) may obtain ticket data relating to a set of tickets, asdescribed above in connection with FIGS. 1A-1D.

As further shown in FIG. 6, process 600 may include processing theticket data to identify a set of ticket clusters (block 620). Forexample, the automation platform (e.g., using computing resource 225,processor 320, memory 330, storage component 340, and/or the like) mayprocess the ticket data to identify a set of ticket clusters, asdescribed above in connection with FIGS. 1A-1D.

As further shown in FIG. 6, process 600 may include determining, for atleast one cluster, an automation plan (block 630). For example, theautomation platform (e.g., using computing resource 225, processor 320,memory 330, storage component 340, and/or the like) may determine, forat least one cluster, an automation plan, as described above inconnection with FIGS. 1A-1D.

As further shown in FIG. 6, process 600 may include implementing theautomation plan to configure an automatic ticket resolution or ticketgeneration mitigation procedure for the at least one cluster, whereinimplementing the automation plan comprises configuring monitoring fortickets of a type corresponding to the at least one cluster, allocatingresources for resolving detected tickets of the type corresponding tothe at least one cluster, and providing a user interface including avisualization of data relating to the resolving of detected tickets ofthe type corresponding to the at least one cluster (block 640). Forexample, the automation platform (e.g., using computing resource 225,processor 320, memory 330, storage component 340, and/or the like) mayimplement the automation plan to configure an automatic ticketresolution or ticket generation mitigation procedure for the at leastone cluster, as described above in connection with FIGS. 1A-1D. In someimplementations, when implementing the automation plan, the automationplatform may configure monitoring for tickets of a type corresponding tothe at least one cluster, may allocate resources for resolving detectedtickets of the type corresponding to the at least one cluster, and mayprovide a user interface including a visualization of data relating tothe resolving of detected tickets of the type corresponding to the atleast one cluster.

Process 600 may include additional implementations, such as any singleimplementation or any combination of implementations described belowand/or in connection with one or more other processes describedelsewhere herein.

In some implementations, the automation platform may receive a ticket,may classify the ticket into the at least one cluster based on a naturallanguage description of an issue included in the ticket, and may use theallocated resources to resolve the issue included in the ticket. In someimplementations, the automation platform may update the user interfaceto indicate that the ticket is resolved. In some implementations, theautomation platform may predict a ticket volume for the at least onecluster, and allocate the resources based on the ticket volume for theat least one cluster.

Although FIG. 6 shows example blocks of process 600, in someimplementations, process 600 may include additional blocks, fewerblocks, different blocks, or differently arranged blocks than thosedepicted in FIG. 6. Additionally, or alternatively, two or more of theblocks of process 600 may be performed in parallel.

In this way, some implementations described herein may provide for acloud platform (e.g., automation platform 220) to automatically classifyticket data, identify an automation plan for automatically resolvingtickets, and to implement the automation plan to automatically resolvethe tickets. In this way, the cloud platform reduces utilization ofcomputing resources based on faster resolution of a ticket issue (e.g.,less resources may be needed to resolve the ticket issue), reducesutilization of computing resources and/or network resources based ondecreasing a period of time where a network device is using additionalresources to complete a task (e.g. a network device may use lessresources to complete a task when operating properly), or the like. Byreducing the utilization of computing resources, the cloud platformimproves overall system performance due to efficient and effectiveallocation of resources. Furthermore, faster resolution of a ticketissue improves user experience and minimizes time that a user may losedue to the ticket issue (e.g., a user may be unable to work ifexperiencing a technical error).

Furthermore, some implementations described herein use a rigorous,computerized process to classify tickets, generate automation plans, andresolve classified tickets that were not previously performed or werepreviously performed using subjective human intuition or input. Forexample, currently there does not exist a technique to accuratelygenerate an automation plan for automating resolution of thousands,millions, or tens of millions of tickets. Finally, automating theprocess for classifying tickets and generating an automation planconserves computing resources (e.g., processor resources, memoryresources, and/or the like) that would otherwise be wasted in attemptingto manually and inefficiently complete ticket resolution tasks that maybe automatable, by ensuring that automatable ticket resolutionprocedures are implemented when available for a particular class ofticket.

The foregoing disclosure provides illustration and description, but isnot intended to be exhaustive or to limit the implementations to theprecise form disclosed. Modifications and variations are possible inlight of the above disclosure or may be acquired from practice of theimplementations.

As used herein, the term component is intended to be broadly construedas hardware, firmware, and/or a combination of hardware and software.

Some implementations are described herein in connection with thresholds.As used herein, satisfying a threshold may refer to a value beinggreater than the threshold, more than the threshold, higher than thethreshold, greater than or equal to the threshold, less than thethreshold, fewer than the threshold, lower than the threshold, less thanor equal to the threshold, equal to the threshold, or the like.

Certain user interfaces have been described herein and/or shown in thefigures. A user interface may include a graphical user interface, anon-graphical user interface, a text-based user interface, or the like.A user interface may provide information for display. In someimplementations, a user may interact with the information, such as byproviding input via an input component of a device that provides theuser interface for display. In some implementations, a user interfacemay be configurable by a device and/or a user (e.g., a user may changethe size of the user interface, information provided via the userinterface, a position of information provided via the user interface,etc.). Additionally, or alternatively, a user interface may bepre-configured to a standard configuration, a specific configurationbased on a type of device on which the user interface is displayed,and/or a set of configurations based on capabilities and/orspecifications associated with a device on which the user interface isdisplayed.

It will be apparent that systems and/or methods, described herein, maybe implemented in different forms of hardware, firmware, or acombination of hardware and software. The actual specialized controlhardware or software code used to implement these systems and/or methodsis not limiting of the implementations. Thus, the operation and behaviorof the systems and/or methods were described herein without reference tospecific software code—it being understood that software and hardwarecan be designed to implement the systems and/or methods based on thedescription herein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of possible implementations. In fact,many of these features may be combined in ways not specifically recitedin the claims and/or disclosed in the specification. Although eachdependent claim listed below may directly depend on only one claim, thedisclosure of possible implementations includes each dependent claim incombination with every other claim in the claim set.

No element, act, or instruction used herein should be construed ascritical or essential unless explicitly described as such. Also, as usedherein, the articles “a” and “an” are intended to include one or moreitems, and may be used interchangeably with “one or more.” Furthermore,as used herein, the term “set” is intended to include one or more items(e.g., related items, unrelated items, a combination of related andunrelated items, etc.), and may be used interchangeably with “one ormore.” Where only one item is intended, the term “one” or similarlanguage is used. Also, as used herein, the terms “has,” “have,”“having,” or the like are intended to be open-ended terms. Further, thephrase “based on” is intended to mean “based, at least in part, on”unless explicitly stated otherwise.

What is claimed is:
 1. A device, comprising: one or more memories; andone or more processors, communicatively coupled to the one or morememories, to: obtain ticket data related to tickets, wherein the ticketdata indicates one or more issues to be resolved; process the ticketdata to generate a ticket analysis model, wherein the ticket analysismodel is a clustering based natural language analysis model of naturallanguage text associated with the ticket data; classify, using theticket analysis model, the tickets into at least one of a plurality ofclasses of tickets, wherein the plurality of classes of tickets areassociated with a set of clusters identified by the ticket analysismodel; rank a set of recommended resolutions based on determining acorresponding set of values indicating an estimated amount of resourcesneeded to resolve an issue, of the issues, associated with the tickets;select from the set of recommended resolutions, based on the ranking,and for inclusion in an automation plan, a resolution that correspondsto a lowest estimated amount of resources needed to resolve the issue;determine, based on selecting the resolution and for at least one classof ticket of the plurality of classes of tickets, the automation planfor resolving at least a portion of the tickets classified into the atleast one class of ticket; implement the automation plan to configure anautomatic ticket resolution or a ticket generation mitigation procedurefor the at least one class of ticket; receive a second ticket afterconfiguring the automatic ticket resolution or the ticket generationmitigation procedure; classify, using the ticket analysis model, thesecond ticket into the at least one class of ticket; and automaticallyimplement a response action for the ticket based on classifying theticket into the at least one class of ticket and using the automaticticket resolution or the ticket generation mitigation procedure.
 2. Thedevice of claim 1, wherein the one or more processors are further to:determine a set of criticality scores for a set of classes of ticketsdetermined based on classifying the tickets; select the at least oneclass of ticket, from the set of classes of tickets, for determining theautomation plan based on the set of criticality scores for the set ofclasses, wherein a criticality score, of the set of criticality scores,is related to at least one of a predicted ticket inflow rate, apredicted ticket subject impact, or a ticket type for the at least oneclass of ticket of the set of classes of tickets; and wherein the one ormore processors, that cause the one or more processors to determine theautomation plan, cause the one or more processors to: determine theautomation plan for the at least one class based on selecting the atleast one class of ticket.
 3. The device of claim 1, wherein the one ormore processors are further to: determine a set of automation scores forthe at least one class of ticket determined based on classifying thetickets, wherein an automation score, of the set of automation scores,is related to a predicted automatability for resolving the at least oneclass of ticket; select the at least one class of ticket for determiningthe automation plan based on the set of automation scores; and whereinthe one or more processors, that cause the one or more processors todetermine the automation plan, cause the one or more processors to:determine the automation plan for the at least one class of ticket basedon selecting the at least one class of ticket.
 4. The device of claim 1,wherein the one or more processors, when processing the ticket data togenerate the ticket analysis model, are to: process the ticket datausing at least one of unsupervised clustering of a set of n-gramkeywords of the natural language text or supervised clustering of theset of n-gram keywords of the natural language text.
 5. The device ofclaim 1, wherein the one or more processors, are further to: generate avisualization model based on visualization data identifying a set ofanalytics and a set of user interactions with the set of analytics;determine, based on the visualization model, a predicted user interfaceview for data relating to one or more predictions for the at least oneclass of ticket, wherein the predicted user interface view is predictedto minimize a quantity of user interactions to view information relatingto the at least one class of ticket; and provide the predicted userinterface view for display.
 6. The device of claim 1, wherein the one ormore processors, when determining the automation plan, are to: identifyan asset catalogue storing information identifying a set of ticketresolution descriptions; and generate, based on the set of ticketresolution descriptions, the automatic ticket resolution or the ticketgeneration mitigation procedure.
 7. The device of claim 1, wherein theone or more processors, when automatically implementing the responseaction, are to: generate program code to resolve the ticket based on theautomatic ticket resolution or the ticket generation mitigationprocedure; and communicate with another device to automatically deploythe program code to the other device.
 8. The device of claim 1, whereinthe one or more processors, when automatically implementing the responseaction, are to: select an application, from an application store, basedon the at least one class of ticket, wherein the application isassociated with resolving tickets of the at least one class of ticket;and communicate with another device to provide the ticket for processingusing the application.
 9. The device of claim 1, wherein the one or moreprocessors, when determining the automation plan, are to: process a setof application descriptions for a set of applications; determine, basedon processing the set of application descriptions, a set of applicationscores, wherein the set of application scores relate to a likelihoodthat an application, of the set of applications, is usable forautomatically resolving the at least one class of ticket; and select,based on the set of application scores, a particular application, of theset of applications, for resolving the at least one class of ticket. 10.A method, comprising: receiving, by a device, a request to generate anautomation plan for resolving tickets; obtaining, by the device andbased on receiving the request, ticket data that indicates one or moreissues to be resolved; processing, by the device, natural languagedescriptions of the tickets in the ticket data to generate a ticketanalysis model; classifying, by the device and using the ticket analysismodel, the tickets into at least one of a plurality of classes oftickets, wherein the plurality of classes of tickets are associated witha set of clusters identified by the ticket analysis model; ranking, bythe device, a set of recommended resolutions based on determining acorresponding set of values indicating an estimated amount of resourcesneeded to resolve an issue, of the issues, associated with the tickets;selecting from the set of recommended resolutions, by the device, basedon the ranking, and for inclusion in the automation plan, a resolutionthat corresponds to a lowest estimated amount of resources needed toresolve the issue; determining, by the device, based on selecting theresolution and for at least one class of ticket of the plurality ofclasses of tickets, the automation plan for resolving at least a portionof the tickets classified into the at least one class of ticket;receiving, by the device, a second ticket after determining theautomation plan; classifying, by the device and using the ticketanalysis model, the second ticket into the at least one class of ticket;and automatically resolving, by the device, the second ticket based onthe automation plan based on classifying the second ticket into the atleast one class of ticket.
 11. The method of claim 10, furthercomprising pre-processing the ticket data, and wherein pre-processingthe ticket data comprises at least one of: removing numbers from theticket data, removing special characters from the ticket data, removingstop words from the ticket data, removing punctuation from the ticketdata, removing whitespaces from the ticket data, or performing astemming operation on words of the ticket data.
 12. The method of claim10, wherein processing the natural language descriptions of the ticketscomprises: extracting entities from the natural language descriptions ofthe tickets; and generating the set of clusters based on extracting theentities from the natural language descriptions.
 13. The method of claim10, further comprising: determining a predicted inflow for the at leastone class of ticket; determining that the predicted inflow satisfies athreshold; and determining the automation plan based on determining thatthe predicted inflow satisfies the threshold.
 14. The method of claim10, wherein automatically resolving the second ticket comprises:transmitting an alert to a preselected entity, wherein the alertidentifies an issue relating to the at least one class of ticket; andassigning the second ticket to the preselected entity.
 15. The method ofclaim 10, wherein automatically resolving the ticket comprises:automatically allocating computing resources for ticket resolution,wherein an amount of computing resources is selected based on the atleast one class of ticket; and using the computing resources to resolvethe ticket based on automatically allocating the computing resources.16. The method of claim 10, further comprising: ordering the pluralityof classes of tickets based on one or more characteristics of theplurality of classes of tickets; and selecting the at least one class ofticket of the plurality of classes of tickets for the automation planbased on ordering the plurality of classes of tickets.
 17. Anon-transitory computer-readable medium storing instructions, theinstructions comprising one or more instructions that, when executed byone or more processors, cause the one or more processors to: obtainticket data related to tickets, wherein the ticket data indicates one ormore issues to be resolved; process the ticket data to generate a ticketanalysis model; classify, using the ticket analysis model, the ticketsinto at least one cluster of a plurality of clusters identified by theticket analysis model; rank a set of recommended resolutions based ondetermining a corresponding set of values indicating an estimated amountof resources needed to resolve an issue, of the issues, associated withthe tickets; select from the set of recommended resolutions, based onthe ranking, and for inclusion in an automation plan, a resolution thatcorresponds to a lowest estimated amount of resources needed to resolvethe issue; determine, based on selecting the resolution and for at leastone cluster of the plurality of clusters, the automation plan forresolving at least a portion of the tickets classified into the at leastone cluster; implement the automation plan to configure an automaticticket resolution or a ticket generation mitigation procedure for the atleast one cluster, wherein implementing the automation plan comprises:configuring monitoring for tickets of a type corresponding to the atleast one cluster, allocating resources for resolving the tickets of thetype corresponding to the at least one cluster, and providing a userinterface including a visualization of data relating to resolving of thetickets of the type corresponding to the at least one cluster; receive asecond ticket after implementing the automation plan; classify, usingthe ticket analysis model, the second ticket into the at least onecluster; and automatically implement a response action based onclassifying the ticket into the at least one cluster and using theautomatic ticket resolution or the ticket generation mitigationprocedure.
 18. The non-transitory computer-readable medium of claim 17,wherein the one or more instructions, when executed by the one or moreprocessors, further cause the one or more processors to: classify thetickets into the at least one cluster based on a natural languagedescription of the issues associated with the tickets; and use theallocated resources to resolve the issues associated with the tickets.19. The non-transitory computer-readable medium of claim 18, wherein theone or more instructions, when executed by the one or more processors,further cause the one or more processors to: update the user interfaceto indicate that the second ticket is resolved.
 20. The non-transitorycomputer-readable medium of claim 17, wherein the one or moreinstructions, when executed by the one or more processors, further causethe one or more processors to: predict a ticket volume for the at leastone cluster; and allocate the resources based on the ticket volume forthe at least one cluster.